package com.enjoyor.soa.traffic.api.service.dubbo.dvams;

import java.util.List;

import com.enjoyor.soa.traffic.api.dto.dvams.AccidentDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 事故
 */

public interface DubboAccidentService {

    /**
     * 获取事故列表
     * 
     * @param accidentId
     *            事故id
     * @param startTime
     *            事故录入开始时间
     * @param endTime
     *            事故录入结束时间
     * @param startTimeByHour
     *            事故录入开始小时 08:00
     * @param endTimeByHour
     *            事故录入开始小时 12:00
     * @param blockCode
     *            路段编码
     * @param accidentType
     *            事故类型
     * @param token
     * @param systemkey
     * @return
     */
    public ResultPojo listAccident(String accidentId, String startTime, String endTime, String startTimeByHour,
            String endTimeByHour, String blockCode, String accidentType, String token, String systemkey);

    /**
     * 获取事故分页
     * 
     * @param startTime
     *            事故录入开始时间
     * @param endTime
     *            事故录入结束时间
     * @param startTimeByHour
     *            事故录入开始小时 08:00
     * @param endTimeByHour
     *            事故录入开始小时 12:00
     * @param blockCode
     *            路段编码
     * @param accidentType
     *            事故类型
     * @param page
     * @param token
     * @param systemkey
     * @return
     */
    @SuppressWarnings("rawtypes")
    public ResultPojo pageAccident(String startTime, String endTime, String startTimeByHour, String endTimeByHour,
            String blockCode, String accidentType, Page page, String token, String systemkey);

    /**
     * 修改事故New
     * 
     * @param pojo
     * @return
     */
    public ResultPojo updateAccidentNew(String token, String systemkey, AccidentDto dto);

    /**
     * 删除事故
     * 
     * @param accidentId
     * @return
     */
    public ResultPojo deleteAccident(String token, String systemkey, String accidentId);

    /**
     * 批量新增事故
     * 
     * @param accidentDtoList
     * @return
     */
    public ResultPojo addAccidentList(String token, String systemkey, List<AccidentDto> accidentDtoList);
}
